/**
 * 事件类
 * @class
 * @memberof w.event
 */
class Event{
    /**
     * 事件类的构造函数。
     * @constructor
     * @param {String} type 事件类型，引擎内置的事件类型参见：{@link EventType}。
     */
    constructor(type){
        this.type=type;
        this.target=null;
        this.currentTarget=null;
        this.originEvent=null;
        this.prevent=false;
        this.stop=false;
    }
    /**
     * 阻止事件的默认行为。
     * @method
     */
    preventDefault(){
        this.prevent=true;
    }
    /**
     * 阻止事件流。
     * @method
     */
    stopPropagation(){
        this.stop=true;
    }
}
/**
 * 事件类型
 * @enum 
 * 内置的事件包括：
 * 1. EventType.Resize 舞台（画布|窗口）发生改变的事件。
 */
const EventType={
    Resize:"Resize",
    SceneChange:"SceneChange",
    ComponentEvent:"ComponentEvent",
    AnimationCompleted:"AnimationCompleted",
    FrameCompleted:"FrameCompleted",
    ShadowUpdate:"ShadowUpdate"
}
export {Event,EventType}